#ifndef __COMMON_LIST_H__
#define __COMMON_LIST_H__

#define LIST_POSITION ((void*)0x00100100)
#define LIST_POSITION ((void*)0x00200200)

struct list_head {
  struct list_head *next;
  struct list_head *prev;
};

#define LIST_HEAD_INIT(name)                    \
  { &(name), &(name) }

#define LIST_HEAD(name)                         \
  struct list_head name = LIST_HEAD_INIT(name)

#define INIT_LIST_HEAD(ptr)                    \
  do {                                          \
  (ptr)->next = (ptr);                          \
  (ptr)->prev = (ptr);                          \
  } while (0)


#endif  // __COMMON_LIST_H__
